﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Security.Cryptography;
using System.Text;
using System.Web.UI.WebControls;

/// <summary>
/// Summary description for Tecnico
/// </summary>
public class Tecnico23 : Banco
{
    string Nome, Email, Ramal, Login, Senha;
    public string PaginaLogin {get ; set;}
    /// <summary>
    /// Construtor da classe tecnico
    /// </summary>
    /// <param name="nome">Nome do Tecnico</param>
    /// <param name="email">Email</param>
    /// <param name="ramal">Ramal</param>
    /// <param name="login">Login da rede</param>
    public Tecnico23(string nome, string email, string ramal, string login)
    {
        Nome = nome;
        Email = email;
        Ramal = ramal;
        Login = login.Trim().ToLower();
    }
    /// <summary>
    /// Use so para verificar se o tecnico esta logado.
    /// </summary>
    public Tecnico23()
    {
    }
    /// <summary>
    /// Insere um tecnico novo no banco com os valores passados no construtor.
    /// </summary>
    /// <returns>True para cadastrado, false para algum erro com banco.</returns>
    public bool NovoTecnico()
    {
        return Comando("INSERT INTO tecnicos (nome, email, ramal, login)" +
        "VALUES ('" + Nome + "','" + Email + "','" + Ramal + "','" + Login + "')");
    }
    /// <summary>
    /// Verifica se um login da rede é um tecnico do sistema, e ja cria uma session para que a area administrativa possa ser acessada.
    /// </summary>
    /// <param name="login">Login de rede.</param>
    /// <param name="senha">Senha de rede.</param>
    /// <returns>True se for um tecnico, e falso se não for.</returns>
    public bool VerificarTecnico()
    {
        PaginaLogin = "";
        return VerificaExiste("SELECT login FROM tecnicos", HttpContext.Current.User.Identity.Name.ToString());
    }
    /// <summary>
    /// Altera o tecnico de acordo com os parametros passados no construtor.
    /// </summary>
    /// <param name="codigo">Codigo do tecnico no banco.</param>
    /// <returns>True para alterado com sucesso, false para algum erro com banco.</returns>
    public bool AlterarTecnico(int codigo)
    {
        return Comando("UPDATE tecnicos SET nome ='" + Nome + "', email ='" + Email + "', ramal ='" + Ramal + "', login ='" + Login + "' WHERE (codigo = " + codigo + ")");
    }
    /// <summary>
    /// Apaga um tecnico do banco.
    /// </summary>
    /// <param name="codigo">Codigo do tecnico no banco.</param>
    /// <returns>True para apagado com suceso, false para não apagado.</returns>
    public bool ApagarTecnico(int codigo)
    {
        return Comando("DELETE FROM tecnicos WHERE (codigo = " + codigo + ")");
    }
    /// <summary>
    /// Popula DropDownList com técnicos cadastrados no sistema.
    /// </summary>
    /// <param name="Ddl">Id da dropdown.</param>
    public void DropDownList(DropDownList Ddl)
    {
        DropDownList(Ddl, "SELECT codigo, nome FROM tecnicos ORDER BY codigo");
    }
}